package com.leetcode.partition14;

/**
 * @author `RKC`
 * @date 2022/8/25 9:35
 */
public class LC1342将数字变成0的操作次数 {

    public int numberOfSteps(int num) {
        //消去一个偶数位需要一次操作，消去一个奇数位，需要2次操作
        if (num == 0) return 0;
        int ans = 0;
        while (num != 0) {
            if ((num & 1) == 0) ans ++;
            else ans += 2;
            num >>= 1;
        }
        return --ans;
    }
}
